﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace DisplayBoardInfoClient
{
    /// <summary>
    /// Przechowuje informację o koncie, na które użytkownik się zalogował.
    /// </summary>
    class LoggedAs
    {
        /// <summary>
        /// Typ zalogowanego użytkownika.
        /// </summary>
        public static string Type { private set; get; }
        /// <summary>
        /// Imię zalogowanego użytkownika.
        /// </summary>
        public static string Name { private set; get; }
        /// <summary>
        /// Nazwisko zalogowanego użytkownika.
        /// </summary>
        public static string Surname { private set; get; }
        /// <summary>
        /// Lista pokoi przypisanych do danego użytkownika.
        /// </summary>
        public static List<string> Rooms { private set; get; }
        /// <summary>
        /// Zapisuje informacje przekazane przez serwer dla podanych przez użytkownika danych weryfikacyjnych.
        /// </summary>
        /// <param name="XMLResponse">Tekst odpowiedzi serwera.</param>
        public static void login(string XMLResponse){
            XmlDocument document = new XmlDocument();
            document.LoadXml(XMLResponse);
            Name=document.GetElementsByTagName("name")[0].InnerText;
            Surname=document.GetElementsByTagName("surname")[0].InnerText;
            Type = document.GetElementsByTagName("userType")[0].InnerText;
            XmlElement roomselem=(XmlElement)document.GetElementsByTagName("rooms")[0];
            if (roomselem != null)
            {
                Rooms=new List<string>();
                XmlNodeList list = roomselem.GetElementsByTagName("number");
                foreach (XmlNode node in list)
                {
                    Rooms.Add(node.InnerText);
                }
            }
            else
                Rooms = null;
        }
    }
}
